package com.xiumu.service.blog;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiumu.common.core.page.PageQuery;
import com.xiumu.pojo.blog.dto.BlogPostDTO;
import com.xiumu.pojo.blog.entity.BlogPost;
import com.xiumu.pojo.blog.query.BlogPostQuery;
import com.xiumu.pojo.blog.vo.BlogPostVO;

import java.util.List;

/**
 * 文章信息 Service 接口
 *
 * @author XiuMu
 * @Date 2023-01-29 09:28:02
 */
public interface BlogPostService extends IService<BlogPost> {
    /**
     * 分页查询
     *
     * @param pageQuery 分页条件
     * @return
     */
    Page<BlogPostVO> listPage(PageQuery<BlogPostQuery, BlogPost> pageQuery);

    /**
     * 根据条件查询 BlogPost
     *
     * @param blogPost 查询条件
     * @return
     */
    List<BlogPost> listByBlogPost(BlogPostQuery blogPost);

    /**
     * 创建 BlogPost
     *
     * @param blogPostDTO BlogPost 信息
     * @return
     */
    boolean create(BlogPostDTO blogPostDTO);

    /**
     * 更新 BlogPost
     *
     * @param blogPostDTO BlogPost 信息
     * @param id          主键 ID
     * @return
     */
    boolean updateById(BlogPostDTO blogPostDTO, Long id);

    /**
     * 根据ID 查询博客详情
     * @param id 主键ID
     * @return
     */
    BlogPostVO getBlogPostVOById(Long id);
}
